// 一个整数，它加上100后是一个完全平方数，再加上168又是一个完全平方数，请问该数是多少？
#include <stdio.h>
#include <math.h>           // 开方函数 包含头文件
int main(int argc, char *argv[])
{
    int x = 1;
    int y = 0;
    int cnt = 1;    // 判断标志位
    while(1)
    {
        switch(cnt)
        {
            // 算出加上100后的一个完全平方数
            case 1:
                y = sqrt(x+100);
                if((x+100) == y*y)
                {
                    cnt = 2;
                }
                else
                {
                    x++;
                }
                break;
            // 判断再加上168后是不是一个完全平方数，不是则继续上一步
            case 2:
                y = sqrt(x+268);
                if((x+268) == y*y)
                {
                    cnt = 0;
                }
                else
                {
                    x++;
                }
            default: break;
        }
        if(cnt == 0)
        {
            break;
        }
    }
    printf("这个值为 %d\n", x); // 输出结果
#if 0
    // 开方函数测试
    y = sqrt(x);
    printf("%d\n", y);
    printf("%d\n", y*y);
#endif
    return 0;
}
